Explicit Architectural Policies to Satisfy NFRs Using COTS
نویسندگان
چکیده
Software architecture decisions hinge more on non-functional requirements (NFRs) than on functional ones, since the architecture stipulates which software to build. Model-Driven Architecture (MDA) aims to automate the derivation/generation of software from high level architectural specifications, but most current MDA implementations start from software design (i.e. how to build a software piece) rather than software architecture. This article presents an approach to extend MDA through the concepts of architectural policies and mechanisms. The key ideas are representation of NFRs through architectural concerns using architectural policies, systematic reification of policies into mechanisms, and multi-dimensional description of components as implementators of mechanisms. A detailed illustrative example is provided. Azimut framework realizes these ideas, supports larger-scale work through catalogs of policies and components, and allows traceability and reuse of architecture by enabling enabling these architecture-level descriptions and reasoning.
منابع مشابه
Use case- and Scenario-based Approach to Represent NFRs and Architectural Policies
Software architecture decisions pay primary attention to nonfunctional requirements (NFRs), yet use cases normally describe functional requirements. This article presents scenario-based descriptions of Architectural Concerns to satisfy NFRs and of Architectural Policies that represent architectural choices to address such concerns. The Azimut framework combines these modeling abstractions with ...
متن کاملSoftware Architecture Design: Evaluation and Transformation
Since the architecture of a software system constrains the non-functional requirements, the decisions taken during architectural design have a large impact in the resulting system. An architectural design method is presented that employs iterative evaluation and transformation of the software architecture in order to satisfy the nonfunctional requirements (NFRs). Architecture evaluation is perf...
متن کاملAssisting software architects in architectural decision-making using Quark
Non-Functional Requirements (NFRs) and constraints are among the principal drivers of architectural decision-making. NFRs are improved or damaged by architectural decisions (ADs), while constraints directly include or exclude parts of the architecture (e.g., logical components or technologies). We may determine the impact of an AD, or which parts of the architecture are affected by a constraint...
متن کاملTowards Modeling Non-Functional Requirements in Software Architecture
Functional requirements (FRs) capture the intended behavior of the system, in terms of the services or tasks the system is required to perform, while non-functional requirements (NFRs) are requirements that impose restrictions on the product being developed [3]. Despite the obvious importance and relevance of non-functional requirements, NFRs specified during requirement engineering are almost ...
متن کامل1 Metrics for Software
Objective measurement of non-functional requirements (NFRs) in any software is one of the most difficult activities. This is because the inherent nature of the NFRs makes their common understanding difficult. The problem is compounded by the fact that the requirements for any software are usually vague about the NFRs that the software should satisfy and how to evaluate the NFRs in the final sof...
متن کامل